Skip to content

feat: add collapsible sidebar rail on desktop - #90

Merged
thermcampos merged 5 commits into
mainfrom
feat/collapsible-sidebar
Sep 27, 2026
Merged

thermcampos merged 5 commits into
mainfrom
feat/collapsible-sidebar

Conversation

@thermcampos

Copy link
Copy Markdown
Owner

Summary

  • Desktop sidebar (>=992px) can now collapse from 276px to a 64px icon rail via a burger toggle in the sidebar header; a chevron in the rail expands it back. Rail keeps avatar, nav icons (Home, My Account, About, Logout) with native title tooltips, active-page highlight, and a changelog link icon.
  • Collapsed state is persisted in localStorage (SIDEBAR_COLLAPSED) through SidebarProvider, and the main content margin animates 276px -> 64px to reclaim space. Mobile off-canvas behavior is unchanged.

Tests

  • Updated context mocks in existing test suites; added rail rendering, tooltip, and toggle tests in Sidebar.test.tsx; added persistence and toggle round-trip tests in SidebarProvider.test.tsx.
  • bash tools/check-frontend.sh passes: lint, build, 162 tests.

💘 Generated with Crush

The desktop sidebar can now collapse to a 64px icon rail via a burger
toggle, freeing ~212px of content width. The state persists across
sessions in localStorage, and mobile off-canvas behavior is unchanged.

💘 Generated with Crush

Assisted-by: Crush:kimi-k3
Zero nav and link horizontal padding in the collapsed rail so icons
center like the avatar, and clip horizontal overflow to stop the
scrollbar.

💘 Generated with Crush

Assisted-by: Crush:kimi-k3
Replace the expanded-state burger with a left chevron so the toggle
icon is consistent in both states, and add 16px spacing below the
gravatar in the collapsed rail.

💘 Generated with Crush

Assisted-by: Crush:kimi-k3
@thermcampos
thermcampos merged commit 6672d85 into main Sep 27, 2026
2 checks passed
@thermcampos
thermcampos deleted the feat/collapsible-sidebar branch September 27, 2026 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant